// html模板
/**
 * <table id="example" class="cell-border display" cellspacing="0" width="100%">
            <thead>
                <tr>
                    <th>索引</th>
                    <th>标题</th>
                </tr>
            </thead>
    </table>
 **/

// console.log("确认调入了tables.js，产品开发时使用，正式上线（交作业）时删除");
var table_config;
// 此 JS 必须在 JQuery之后引入
// config中必须包含 data(或ajax) 与 columns
function init_table(config) {
    var init_config = {
        "dom": 'B<"clear">lfrtip',
        // 开启加载中效果
        "processing" : true,
        "destroy": true,
        "language": {
            "processing": "正在请求数据",
            "loadingRecords": "请等待",
            "lengthMenu": "每页 _MENU_ 条记录",
            "zeroRecords": "没有找到记录",
            "info": "第 _PAGE_ 页 ( 总共 _PAGES_ 页 )",
            "infoEmpty": "无记录",
            "infoFiltered": "(从 _MAX_ 条记录过滤)",
            "search": "搜索",
            "paginate": {
                "first": "第一页",
                "laset": "最后一页",
                "next": "下一页",
                "previous": "前一页"
            }
        },
    }

    // 默认设置
    $.extend( $.fn.dataTable.defaults, {
        // 暂未使用
    } );

    // 两者共有部分 init_config会被覆盖
    config = $.extend(init_config, config);
    table_config = config;
    // log
    // console.log(config);

    var table = $('#example').DataTable(config);

    // 开启选择行
    $('#example tbody').on( 'click', 'tr', function () {
        $(this).toggleClass('selected');
    });

    // 添加索引
    table.on('order.dt search.dt',function() {
        table.column(0, {
            search: 'applied',
            order: 'applied'
        }).nodes().each(function(cell, i) {
            cell.innerHTML = i + 1;
        });
    }).draw();

    // 取消弹出错误
    $.fn.dataTable.ext.errMode = function(s,h,m){}

    return table;
}

// 重新绘制后添加索引
function addIndex(table) {

    $('#example tbody').on( 'click', 'tr', function () {
        $(this).toggleClass('selected');
    });

    table.on('order.dt search.dt',function() {
        table.column(0, {
            search: 'applied',
            order: 'applied'
        }).nodes().each(function(cell, i) {
            cell.innerHTML = i + 1;
        });
    }).draw();
}

/**
 * 设置内容的对齐方式
 * @param {索引} index
 * @param {'center, left, right'} align
 */
function set_td_align(index, align) {
    $('td').eq(index).attr('style', 'text-align: ' + align + ';');
}

/**
 * 设置内容的对齐方式
 * @param {索引} index
 * @param {'center, left, right'} align
 */
function set_th_align(index, align) {
    $('th').eq(index).attr('style', 'text-align: ' + align + ';');
}

function set_align(index, align) {
    set_td_align(index, align);
    set_th_align(index, align);
}
